/**
 * 用户基本信息接口
 * 包含了用户的各种属性和状态信息
 */
export interface UserBasic {
  /**
   * 自增 ID，在 Go 中 gorm.Model 包含了类似 ID 的字段，这里简单表示为 number 类型
   */
  ID: number;
  /**
   * 账户名(唯一)
   */
  account: string;
  /**
   * 用户名
   */
  name: string;
  /**
   * 用户密码
   */
  password: string;
  /**
   * 手机号
   */
  phone: string;
  /**
   * 邮箱
   */
  email: string;
  /**
   * 用户登录 IP
   */
  clientIP: string;
  /**
   * 用户登录端口
   */
  clientPort: string;
  /**
   * 最近登录时间，在 Go 中是指针类型，这里用可选类型表示可能为空
   */
  loginTime?: Date | null;
  /**
   * 最近活跃时间，在 Go 中是指针类型，这里用可选类型表示可能为空
   */
  heartbeatTime?: Date | null;
  /**
   * 登出时间，在 Go 中是指针类型，这里用可选类型表示可能为空
   */
  logoutTime?: Date | null;
  /**
   * 用户登录设备信息
   */
  deviceInfo: string;
  /**
   * 账号状态 0：正常使用 1：已删除 2：注销
   */
  status: number;
  /**
   * 是否登录
   */
  isLogin: boolean;
  /**
   * 头像，默认值在 TypeScript 中可以在使用时处理
   */
  avatar: string;
  /**
   * 详细地址
   */
  local: string;
  /**
   * 用户与角色的多对多关系
   */
  roles: RoleBasic[];
  /**
   * 用户的个性标签
   */
  tags: string;
  /**
   * 微信 openid
   */
  wxOpenID: string;
}

/**
 * 角色基本信息接口
 * 这里 RoleBasic 接口可以根据实际情况补充具体字段，目前为空
 */
export interface RoleBasic {
  // 这里 RoleBasic 接口可以根据实际情况补充具体字段，目前为空
}
